cmake_minimum_required(VERSION 3.15)

project(QShell)

# QT env configuration
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

find_package(QT NAMES Qt5 COMPONENTS 
    Core 
    REQUIRED
)
find_package(Qt${QT_VERSION_MAJOR} COMPONENTS 
    Core 
    REQUIRED
)

add_library(QShell STATIC
    include/cmdline.h
    include/QShell
    include/qshell.h
    src/qshell.cpp
    include/qcmdparser.h
    src/qcmdparser.cpp
    private/qshellprivate.h
)
add_library(utils::QShell ALIAS QShell )

target_include_directories(QShell
    PUBLIC
    ${PROJECT_SOURCE_DIR}/include
    PRIVATE
    ${PROJECT_SOURCE_DIR}/private
    Qt${QT_VERSION_MAJOR}::Core
    
    utils::QLogger
)

target_link_libraries(QShell
    PUBLIC
    Qt${QT_VERSION_MAJOR}::Core

    utils::QLogger
)

add_subdirectory(example)